package X4;

import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

import java.io.IOException;
/*
* 四个泛型解释：
*KEYIN  ：   k2类型
* VALULEIN  ：   v2类型
* KEYOUT    ：   K3类型
* VALUEOUT  ：   v3类型*/

public class WordConutReducer extends Reducer<Text, LongWritable,Text,LongWritable> {
    //reduce方法作用：将新的k2，v2转为k3，v3，将k3，v3写入上下文中
    /*
    * 参数
    * key   ：   新k2
    * values    :   集合 新v2
    * context   ：   表示上下文对象*/
    @Override
    protected void reduce(Text key, Iterable<LongWritable> values, Context context) throws IOException, InterruptedException {
        //遍历集合，将集合中数字相加得到v3
        long count = 0;
        for (LongWritable value : values){
            count += value.get();
        }
        //将k3，v3写入上下文
        context.write(key,new LongWritable(count));
    }
}
